var numeroFilas = 0;
var filaSeleccionado = true;
var ruta3 = '/'+window.location.pathname.split("/")[1];



function aprobarSolicitud(elementoTabla){
    var rows = elementoTabla.tBodies[0].rows.length;

    var aprobador=$("#usuarioCreador").val();
    if(rows == 0){
        //alert('No hay registros disponibles');
        jAlert('No hay registros disponibles', 'Sistema de Gesti\u00F3n de Vacaciones');
        return false;
    }

    if (check('tblBandejaAprobacion')<1){
//        alert('Debe seleccionar un registro');
        jAlert('Debe seleccionar un registro', 'Sistema de Gesti\u00F3n de Vacaciones');
        return false;
    }

    if (check('tblBandejaAprobacion')>1){
//        alert('Solo se permite aprobar una solicitud, a la vez');
        jAlert('Solo se permite aprobar una solicitud, a la vez', 'Sistema de Gesti\u00F3n de Vacaciones');
        return false;
    }

jConfirm('Se aprobar\xe1 la solicitud seleccionada. \u00bfDesea continuar?', 'Sistema de Gesti\u00F3n de Vacaciones', function(r) {
//    if(confirm('Se aprobar\xe1 la solicitud seleccionada. \u00bfDesea continuar?')){
        if(r){
        var arrayJSON = []
        var tableSol = document.getElementById('tblBandejaAprobacion');
        var checsSol = tableSol.getElementsByTagName("input");


        for(var i = 0; i < rows; i++){

            if (checsSol[i].type == "checkbox"){
                if(checsSol[i].checked == true) {
                    var objJSON = {
                        idSolicitud:elementoTabla.tBodies[0].rows[i].getElementsByTagName('td')[1].firstChild.nodeValue,
                        idUsuarioSolicitante:elementoTabla.tBodies[0].rows[i].getElementsByTagName('td')[2].firstChild.nodeValue,
                        fechaInicio:elementoTabla.tBodies[0].rows[i].getElementsByTagName('td')[5].firstChild.nodeValue,
                        fechaFin:elementoTabla.tBodies[0].rows[i].getElementsByTagName('td')[6].firstChild.nodeValue
                    };
                    arrayJSON.push(objJSON);
                }
            }

        }
        fnMensajeProcesoInicio('Procesando');
        $.post('./solicitud.do',
        {
            metodo:'aprobarSolicitud',
            aprobador:aprobador,
            procesados: JSON.stringify(arrayJSON)
        },
        function(respuestaServer, textStatus){
            if(textStatus == 'success'){
                numeroFilas = 0;
                $("#result").text(100);
//                alert(respuestaServer);
                jAlert(respuestaServer, 'Sistema de Gesti\u00F3n de Vacaciones');
                fnMensajeProcesoTerminado('');
                buscarSolicitudesAprobadas('./solicitud.do','');
            //      $('#txtMotivoSolicitud').attr('value','');
            }
        }
        );

        return true;
    }else{
        return false;
    }
    });
}
function buscarSolicitudesAprobadas(urlHtml, accion){
    $("#tblBandejaAprobacion tbody").children("tr").remove();
    if(accion=='refresh'){
        fnMensajeProcesoInicio('Actualizando');
    }
    $.ajax({
        url:urlHtml,
        data: {
            metodo:'cargarSolicitudesPorAprobador',
            idUsuarioAprobador: $("#usuarioAprobador").val()
        } ,
        dataType: 'json',
        cache: false,
        success:function(respuestaServerJSON) {
           
            if(respuestaServerJSON.resultadoDetalle!=undefined){
                var tamanio = respuestaServerJSON.resultadoDetalle.length;
                for(var i=0; i<tamanio; i++) {
                    cargarSolicitudesAprobadasList("tblBandejaAprobacion",respuestaServerJSON.resultadoDetalle[i]);
                }
            }else{
                var fila = '<tr>';
                fila+='<td COLSPAN=10 class="label">No tiene solicitudes pendientes</td>';
                fila+='</tr>';
                $("#tblBandejaAprobacion > tbody").append(fila);
            }
            if(accion=='refresh'){
                fnMensajeProcesoTerminado('');    
            }
        }

    });
}


function singleSelectAprobaciones(current)
{
    if(document.getElementById('tblBandejaAprobacion').tBodies[0].rows.length>1){
        var table = document.getElementById('tblBandejaAprobacion');
        var checs = table.getElementsByTagName("input");
        for(i = 0; i < checs.length; i++ ){
            if (checs[i].type == "checkbox"){
                if(checs[i] != current) {
                    checs[i].checked=false;
                }
            }
        }
        current.checked = true;
    }
  


}


function cargarSolicitudesAprobadasList(idElementoTabla,objJSON){
    var fila = '<tr>';
    if(numeroFilas % 2 == 0){
        fila = '<tr class="even">';
    }else{
        fila = '<tr class="odd">';
    }
    fila +='<td><input type="checkbox" name="selectSolicitud" onclick="singleSelectAprobaciones(this)"></input></td>';
    fila +='<td style="display:none;">'+objJSON.idSolicitud+'</td>';
    fila +='<td style="display:none;">'+objJSON.idUsuarioSolicitante+'</td>';
    fila +='<td>'+objJSON.nombre+ ' ' +objJSON.apellido+'</td>';
    fila +='<td>'+objJSON.puesto+'</td>';
    fila +='<td>'+objJSON.fechaInicio+'</td>';
    fila +='<td>'+objJSON.fechaFin+'</td>';
    fila +='<td>'+objJSON.diasHabiles+'</td>';
    fila +='</tr>';

    $("#" + idElementoTabla + " > tbody").append(fila);

    numeroFilas += 1;
}

function rechazarSolicitud(elementoTabla, conMotivo){
    var rows = elementoTabla.tBodies[0].rows.length;

    var aprobador=$("#usuarioCreador").val();
    var motivoSolicitud=$("#txtMotivoSolicitud").val();
    
    if (conMotivo==true){
        if(motivoSolicitud == ''){
//            alert('Indique un motivo de rechazo');
            jAlert('Indique un motivo de rechazo', 'Sistema de Gesti\u00F3n de Vacaciones');
            $("#txtMotivoSolicitud").focus();
            return false;
        } 
    }

 jConfirm('Se rechazar\xe1 la solicitud seleccionada. \u00bfDesea continuar?', 'Sistema de Gesti\u00F3n de Vacaciones', function(r) {
//    if(confirm('Se rechazar\xe1 la solicitud seleccionada. \u00bfDesea continuar?')){
        if(r){
        var arrayJSON = []
        var tableSol = document.getElementById('tblBandejaAprobacion');
        var checsSol = tableSol.getElementsByTagName("input");


        for(var i = 0; i < rows; i++){

            if (checsSol[i].type == "checkbox"){
                if(checsSol[i].checked == true) {
                    var objJSON = {
                        idSolicitud:elementoTabla.tBodies[0].rows[i].getElementsByTagName('td')[1].firstChild.nodeValue,
                        idUsuarioSolicitante:elementoTabla.tBodies[0].rows[i].getElementsByTagName('td')[2].firstChild.nodeValue,
                        fechaInicio:elementoTabla.tBodies[0].rows[i].getElementsByTagName('td')[5].firstChild.nodeValue,
                        fechaFin:elementoTabla.tBodies[0].rows[i].getElementsByTagName('td')[6].firstChild.nodeValue
                    };
                    arrayJSON.push(objJSON);
                }
            }

        }
        closePopup();
        fnMensajeProcesoInicio('Procesando');
        $.post('./solicitud.do',
        {
            metodo:'rechazarSolicitud',
            motivoSolicitud: motivoSolicitud,
            aprobador:aprobador,
            procesados: JSON.stringify(arrayJSON)
        },
        function(respuestaServer, textStatus){
            if(textStatus == 'success'){
                numeroFilas = 0;
                $("#result").text(100);
               
//                alert(respuestaServer);
                jAlert(respuestaServer, 'Sistema de Gesti\u00F3n de Vacaciones');
                fnMensajeProcesoTerminado('');
                $('#txtMotivoSolicitud').attr('value','');
                buscarSolicitudesAprobadas('./solicitud.do','');
              

            }
        }
        );

        return true;
    }else{
        return false;
    }
   });  
}

